এই অধ্যায়ে আপনি array এবং pointer এর সম্পর্ক সম্মন্ধে জানবেন এবং আপনি আপনার প্রোগ্রামে সঠিকভাবে এদেরকে ব্যবহার করা শিখবেন।
সি প্রোগ্রমিং এ array এবং pointer প্রায় একই রকম। কিন্তু এদের মধ্যে গুরুত্বপূর্ণ পার্থক্য হলো পয়েন্টারের ভ্যালু হিসাবে বিভিন্ন এড্রেস থাকতে পারে পক্ষান্তরে array এর এড্রেস ফিক্সড(fixed) থাকে।
নিচের উদাহরণের সাহায্যে এদের মধ্যে পার্থক্য দেখানো হলোঃ
kt_satt_skill_example_id=476
নোটঃ আপনি array এর বিভিন্ন এড্রেস পেতে পারেন।
উপরের উদাহরণের ফলাফলে লক্ষ্য করলে দেখবেন যে, charArr অ্যারে এর পরস্পর দুটি এলিমেন্টের পার্থক্য সমান। অর্থাৎ এদের পার্থক্য হলো ১ বাইট।
কিন্তু পয়েন্টার যেহেতু অন্য ভ্যারিয়েবলের লোকেশনকে নির্দেশ করে, সুতরাং ইহা যেকোনো এড্রেস জমা(store) করতে পারে।
নিচের ন্যায় একটি array বিবেচনা করুনঃ
int arr[4];
সি প্রোগ্রামিং এ array এর নাম সবসময় array এর প্রথম এলিমেন্টের এড্রেসকে নির্দেশ করে।
উপরের প্রোগ্রামে arr এবং &arr[0] উভয়ই প্রথম এলিমেন্টের এড্রেসকে নির্দেশ(point) করে।
&arr[0] সাধারণত arr এর সমান
যেহেতু উভয়ের এড্রেস একই, সুতরাং arr এবং &arr[0] এর ভ্যালুও একই।
arr[0] সাধারণত *arr(পয়েন্টারের এড্রেসের ভ্যালু) এর সমান।
একইভাবে,
&arr[1] সাধারণত (arr + 1) এর সমান এবং arr[1] সাধারণত *(arr + 1) এর সমান।
&arr[2] সাধারণত (arr + 2) এর সমান এবং arr[2] সাধারণত *(arr + 2) এর সমান।
&arr[3] সাধারণত (arr + 1)এর সমান এবং arr[3] সাধারণত *(arr + 3) এর সমান।
.
.
&arr[i] সাধারণত (arr + i) এর সমান এবং arr[i] সাধারণত *(arr + i) এর সমান।
সি প্রোগ্রামিং এ আপনি array ডিক্লেয়ার(declare) করতে পারেন এবং পয়েন্টার ব্যবহার করে এই array এর ডেটা(data) পরিবর্তন করতে পারেন।
kt_satt_skill_example_id=478
common.read_more